Skip to content

Update v5 contract interfaces and E2E client - #2801

Merged
olanod merged 4 commits into
v5.xfrom
chore/v5-sdk-interfaces
Nov 6, 2026
Merged

olanod merged 4 commits into
v5.xfrom
chore/v5-sdk-interfaces

Conversation

@olanod

@olanod olanod commented Nov 6, 2026 •

Copy link
Copy Markdown

Updates the v5 host bindings to UAPI 14, XCM types to 14.1 and the E2E client to Subxt 0.51. The changelog lists the API changes so we can flag them before the next release.

XCM 14.1 keeps FRAME out of contract dependencies and preserves Rust 1.81 support. This also removes the unused direct RPC dependency and disabled RISC-V CI jobs.

Checks

Runtime changes tested at 9b42810b; later commits add scoped lint allowances, format a crate name in the docs and fix the runtime-call example’s SCALE value import. Strict workspace Clippy passed at 4a356367. The affected example’s strict Clippy, end-to-end test, formatting and manifest checks passed at adbfe41b.

  • cargo +1.99.1 test --workspace --all-features --locked: 522 passed, 10 existing ignores.
  • cargo +1.99.1 clippy --workspace --all-features --all-targets --locked -- -D warnings -A clippy::extra_unused_lifetimes: passed.
  • cargo +1.81.0 check -p ink --lib --locked, also with --no-default-features --target wasm32-unknown-unknown: passed.
  • cargo test --features e2e-tests: 20 focused tests passed across XCM, events, runtime calls, the runtime-only backend and update_delegate. Node-backed tests used contracts-node 0.41; sandbox tests used the current runtime.
  • Linter workspace Clippy and cargo test --all-features --locked: 11 passed on its configured nightly.
  • Formatting and zepter run check passed. Release Flipper is 1,679 bytes and passes the contracts-pallet Wasm restrictions.

CI is rerunning after fixing the runtime-call example to use Subxt’s re-exported SCALE values. This removes its outdated direct dependency, which caused both failed jobs; a third job was cancelled.

Dependencies

Checked the published manifests, features, licenses and compiler requirements. Native Subxt and the existing sr25519/ecdsa signer features are retained; the signer updates its existing secp256k1 C bindings. async-trait was already transitive and replaces an RPC dependency used only for its macro. Subxt requires Rust 1.88; the FRAME testing tools already require current stable. Contract code still builds on 1.81. The refreshed licenses remain Apache/MIT/CC0/GPL variants, with CDLA-licensed certificate data in the TLS dependencies.

XCM 16.2 also passed release-Wasm, old-node and XCM v5 sandbox tests, but adds 38 lockfile entries, a second FRAME stack and fails the retained 1.81 check. That expansion is left out of this PR.

@olanod
olanod marked this pull request as ready for review November 6, 2026 17:21
@codecov

codecov Bot commented Nov 6, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 7.19424% with 129 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (v5.x@c8d21a2). Learn more about missing BASE report.

Files with missing lines Patch % Lines
crates/e2e/src/xts.rs 0.00% 87 Missing ⚠️
crates/e2e/src/subxt_client.rs 0.00% 32 Missing ⚠️
crates/e2e/src/events.rs 0.00% 9 Missing ⚠️
crates/e2e/src/sandbox_client.rs 0.00% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             v5.x    #2801   +/-   ##
=======================================
  Coverage        ?   71.32%           
=======================================
  Files           ?      151           
  Lines           ?    15860           
  Branches        ?      260           
=======================================
  Hits            ?    11312           
  Misses          ?     4548           
  Partials        ?        0           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@olanod
olanod merged commit 449d6df into v5.x Nov 6, 2026
34 checks passed
@olanod
olanod deleted the chore/v5-sdk-interfaces branch November 6, 2026 22:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant